[JSP]如何加密URL中.jsp?后面的参数?

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:52:44
问题描述:
我们公司有个线上签核系统,将申请人填写好的表单发送到主管的信箱,主管不需要登录,只需点击url即可查看到表单,现在问题是url中的参数都是显式的,这样别人只需修改参数就可以看到别的单子,所以想要加密url,不知该如何加密。
还有,能否实现当输入显式的URL(未加过密的url)时,禁止其访问?
我这是jsp,不是asp,请不要盲目copy网上的资料。
至于加密,我已经有了思路。
至于第二个问题有没有好的方法?

加密参数是jsp参数传递中的一种安全措施,加密方法如下:

建议使用对称加密如:DES或者是PBE算法。
加密算法如下:
public static String encrypt(String key, String plainText) throws Exception {
String encryptTxt = "";
try {
byte[] salt = new byte[8];
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(key.getBytes());
byte[] digest = md.digest();
for (int i = 0; i < 8; i++) {
salt[i] = digest[i];
}
PBEKeySpec pbeKeySpec = new PBEKeySpec(key.toCharArray());
SecretKeyFactory keyFactory = SecretKeyFactory
.getInstance("PBEWithMD5AndDES");
SecretKey skey = keyFactory.generateSecret(pbeKeySpec);
PBEParameterSpec paramSpec = new PBEParameterSpec(salt, ITERATIONS);
Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
cipher.init(Cipher.ENCRYPT_MODE, skey, paramSpec);
byte[] cipherText = cipher.doFinal(plainText.getBytes());